A redundant array of independent disks (RAID) system may be expanded by adding additional one or more drives to the group of existing drives. For example, additional drives may be added to increase the storage capacity of data and/or increase the redundancy in the RAID system.
In conventional systems using RAID, capacity is typically expanded by adding another RAID group composed of a new set of drives. This is expensive and inefficient because each individual RAID group incurs overhead from space dedicated for storing RAID parity. Another drawback in the conventional systems that expand space by adding a new RAID group is that space can be expanded only by adding a minimum set of drives and this minimum number is typically much greater than one, e.g., 20 drives.
In some conventional systems, an existing RAID group may be expanded with new drives but the new free space does not become available until the existing stripes in the RAID group have been reorganized into wider stripes that span the new width of the RAID group. Consider a stripe of width 7 units: 5 data units and two parity units, then the 5 data units may be considered the data payload section of the stripe, in this example. A limitation is that most RAID groups have a fixed data payload size per stripe across all the stripes in the RAID group; the data payload size is not configurable on a stripe-by-stripe basis. For this reason, when a new drive is added, then all existing stripes must be reconfigured to accommodate the new drive before new free space becomes available. The reconfiguration process may be a background process but the newly added free space does not become free until after the background process has completed.
Finally, conventional storage vendors do not offer the functionality of flexibly expanding an existing RAID group. Regardless of the internal implementation for space expansion, conventional storage vendors typically offer expanding total space by a predetermined number of drives to their consumers. Conventional storage vendors often either offer a shelf of drives to their customers or an expansion pack that is composed of more than one and typically, a fixed number of drives, such as 10 to 20 drives, for example.